package entity

import dom "a-common/domain"

// SenRoom 房间表
type SenRoom struct {
	RoomId         int64  `xorm:"pk autoincr notnull"`             // 房间ID
	RoomFloor      string `xorm:"varchar(64) notnull"`             // 楼层
	RoomNo         string `xorm:"varchar(64) notnull"`             // 房号
	RoomName       string `xorm:"varchar(200) notnull"`            // 房间名称
	RoomSort       int    `xorm:"varchar(200) notnull"`            // 显示顺序
	Status         string `xorm:"varchar(1) default('1') notnull"` // 状态（0停用 1使用中 2未使用 3维修中）
	dom.BaseStruct `xorm:"extends"`
}

// SenRoomVo 映射
type SenRoomVo struct {
	RoomId    int64  `json:"roomId,omitempty" xorm:"pk"`
	RoomFloor string `json:"roomFloor,omitempty"`
	RoomNo    string `json:"roomNo,omitempty"`
	RoomName  string `json:"roomName,omitempty"`
	RoomSort  int    `json:"roomSort"`
	Status    string `json:"status,omitempty"`
}

// SenRoomPageVo 页面
type SenRoomPageVo struct {
	SenRoomVo    `xorm:"extends"`
	dom.BaseJson `xorm:"extends"`
}

// SenRoomDto 传输
type SenRoomDto struct {
	SenRoomPageVo
	dom.BaseJson
	dom.PageDto
}

// 房间保洁关联表
type SenRoomCleaner struct {
	RoomId int64 `json:"roomId"` // 房间ID
	UserId int64 `json:"userId"` // 保洁阿姨ID
}

func (m *SenRoomDto) Validator() error {
	if m.PageNum < 1 {
		m.PageNum = 1
	}
	if m.PageSize < 1 {
		m.PageSize = 10
	}
	return nil
}

// SenRoomExportVo 导出
type SenRoomExportVo struct {
	RoomId    int64    `excel:"name:房间ID;" xorm:"pk"`
	RoomFloor string   `excel:"name:楼层;"`
	RoomNo    string   `excel:"name:房间编号;"`
	RoomName  string   `excel:"name:房间名称;"`
	RoomSort  int      `excel:"name:房间排序;"`
	Status    string   `excel:"name:状态;replace:0_停用,1_使用中,2_未使用,3_维修中;"`
	CreatedAt dom.Time `excel:"name:创建时间;"`
}
